#include "ThreadPool.hpp"
#include "Task.hpp"

using namespace wxd;
int main()
{
    // //ThreadPool<task_t> tp(5);

    // ThreadPool<task_t>* tp = ThreadPool<task_t>::GetInstance();
    // // tp->Start();

    // //tp.Start();

    // // while (true)
    // // {
    // //     // 每三秒发布一个任务
    // //     sleep(3);
    // //     tp.Enqueue(TestTask);
    // // }
    // int cnt = 10;
    // while(cnt--)
    // {
    //     tp->Enqueue(TestTask);
    // }

    // //3秒后关闭线程池
    // //sleep(3);
    // //tp.Stop();
    // tp->Stop();

    // //sleep(1111);

    //获取单例
    ThreadPool<task_t>::GetInstance();

    int cnt = 10;
    while(cnt)
    {
        ThreadPool<task_t>::GetInstance()->Enqueue(TestTask);
        sleep(1);
        cnt--;
    }
    
    ThreadPool<task_t>::GetInstance()->Stop();


    return 0;
}